/**
 * Copyright (C) 2017-2018 pinganfang, Inc. All Rights Reserved.
 */
package com.pingan.haofang.searchcloud.api.matedata;

import java.util.Optional;

/**
 * @author huhailiang937
 * @date 2017年5月6日下午8:49:19
 * @since 1.0.0
 */
public interface IndexMetadataHolder {


    /**
     * 获取字段类型
     * @param indexName
     * @return
     *
     */
    Optional<FieldMeta> findFiledMeta(String indexName, String fieldName);

    /**
     * 获取主键名
     *
     * @param indexName
     * @return
     */
    Optional<String> findPKFieldName(String indexName);
    
    /**
     * 
     * @param indexName
     * @return
     *
     */
    IndexMeta findIndexMeta(String indexName);
    
    /**
     * 
     * @param indexName
     * @return
     *
     */
    boolean register(IndexMeta indexMeta);

}
